package com.equipment;

import com.util.EncodingUtil;

/**
 * 国标检测OBUC5
 * @author Administrator
 *
 */
public class ChineseDetectionOBURequest {

	private String STX = "55AA"; // 帧开始标志
	private String RSCTL = "00"; // 串口帧序列号
	private String Length = ""; // 数据长度
	private String code = "FD"; // 代码
	private String broadening = "C5"; // 扩展代码
	private String PsamVerType = "";//PSAM卡解密车辆密钥类型，1表示5903，2表示3903
	private String BstUnixTime="";	//BST中的Unixtime

	private String BCC = ""; // 异或校验值


	/**
	 * 发送AA指令 检测OBU指令
	 *
	 * @return
	 */
	public String command(String psamVerType) {
		this.PsamVerType = psamVerType;
		this.BstUnixTime=EncodingUtil.LongTosix(System.currentTimeMillis()/1000, 8).toUpperCase();
		Length=EncodingUtil.desToHex((broadening+PsamVerType+BstUnixTime).length()/2, 4);
		// DATA由代码+扩展子代码+目录编号
		String DATA =RSCTL+Length+ code + broadening+PsamVerType+BstUnixTime;
		// 异或校验从RSCTL到DATA所有字节的异或值
		BCC = EncodingUtil.yihuo(EncodingUtil.change(DATA));
		String retn = STX + DATA+BCC ; // 拼接完整的请求
		return retn;
	}
}
